"""
数据输出

collect 算子
==============================================================================================
将 RDD 各个分区内的数据，统一收集到 Driver 中，形成一个 List 对象

- 用法：rdd.collect()
- 返回一个 List
==============================================================================================
在前面中已经使用过了
"""

# 演示RDD的flatMap成员方法的使用
from pyspark import SparkConf, SparkContext

# windows 中 spark 找不到对于的 python 解释器会报错
import os

os.environ["PYSPARK_PYTHON"] = "D:/python3.11/python.exe"

conf = SparkConf().setMaster("local[*]").setAppName("test_spark")
sc = SparkContext(conf=conf)

# 准备一个RDD
rdd = sc.parallelize([("a", 1), ("a", 1), ("b", 1), ("b", 1), ("b", 1)])

result = rdd.reduceByKey(lambda x, y: x + y)
print(result.collect())


rdd = sc.parallelize([("男", 99), ("男", 88), ("女", 99), ("女", 77)])

result = rdd.reduceByKey(lambda x, y: x + y)
print(result.collect())
